package tools;

/**
 * Filter für den JFileChooser.
 * Damit kann man sich nur gku Dateien anzeigen lassen
 */
import java.io.File;
import javax.swing.filechooser.FileFilter;

public final class FileFilterData extends FileFilter {

    private static FileFilterData instance;
    String endung ="gku";

    private FileFilterData(){}

    public synchronized static FileFilterData getInstance(){
        if(instance== null)
            instance= new FileFilterData();
       return instance;
    }

    /**
     * gibt die Endung zuruek
     * @return ".gku"
     */
    public String getFormatOfData(){
        String name= ".";
        return name+endung;
    }

    @Override
    public String getDescription() {
        return "*."+ endung;
    }

    @Override
    public boolean accept(File f) {
        if (f.isDirectory()) {
            return true;
        }

        String end = getEnd(f);
        if (end != null) {
            if (end.equals(endung)){
                return true;
            } else {
                return false;
            }
        }

        return false;
    }

  /**
   * gibt den typ von f zurueck
   * @param f File
   * @return typ/ format von f
   */
    public static String getEnd(File f) {
        String end = "";
        String s = f.getName();
        int i = s.lastIndexOf('.');
        if (i > 0 && i < s.length() - 1) {
            end = s.substring(i + 1).toLowerCase();
        }
        return end;
    }
}